/*
 * 测试运算符的使用
 * 位运算符
 *  << >>  >>>  & | ^ ~
 * 针对数值类型的变量或常量进行运算，运算结果也是数值
 * << 每往左移一位，结果就在原有基础上 * 2 正数负数都适用
 * >> 每往右移一位，结果就在原有基础上 / 2 正数负数都适用 注意：如果不能整除，会向下取整
 * 
 *  面试题：
 * 如何高效的计算2 * 8 = 16 ？
 *  2 << 3 或 8 << 1
 */
public class learn_bit {
  public static void main(String[] args) {
    int i = 7;

    System.out.println("i << 1 = " + (i << 1));
    System.out.println("i << 2 = " + (i << 2));
    System.out.println("i << 3 = " + (i << 3));
    int i2 = -7;

    System.out.println("i2 << 1 = " + (i2 << 1));
    System.out.println("i2 << 2 = " + (i2 << 2));
    System.out.println("i2 << 3 = " + (i2 << 3));
    System.out.println("i2 << 3 = " + (69 >> 3));

  }

}
